<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <h2>回顾</h2>
    <script>
      function myAxios(option) {
        // 获取传入的属性
        const { method = 'get', data, params } = option
        // url可能需要修改 用let保存
        let { url } = option

        // 如果是get请求 params->key=value
        if (method === 'get') {
          const arr = []
          for (const key in params) {
            // console.log('key:', key)
            const value = params[key]
            // console.log('value:', value)
            // key=value
            arr.push(`${key}=${value}`)
          }
          // console.log('arr:', arr)
          // &链接起来
          const queryString = arr.join('&')
          // console.log('queryString:', queryString)
          // 拼接到url中
          url += `?${queryString}`
          // console.log('url:', url)
        }

        return new Promise((resolve, reject) => {
          const xhr = new XMLHttpRequest()
          // 调用 新闻接口
          xhr.open(method, url)
          // 设置 请求头 内容格式为JSON
          xhr.setRequestHeader('content-type', 'application/json')
          xhr.addEventListener('load', function () {
            // console.log('load:', xhr.response)
            // 通过 resolve 将成功的结果传递给then
            resolve(xhr.response)
          })
          // 发送  JSON
          xhr.send(JSON.stringify(data))
        })
      }

      // 支持传递parasm
      myAxios({
        url: 'http://ajax-api.itheima.net/api/robot',
        method: 'get',
        params: {
          spoken: '你好,早饭吃饱了吗?',
          // q: '深渊巨口',
          // q: '亚索',
          // name: 'jack',
          // age: 18,
        },
      }).then(res => {
        console.log('res:', res)
      })
    </script>
  </body>
</html>
